package com.egao.common.module.guidance.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 就业讲座实体类
 * @author pyx
 */
@Data
@ApiModel(description = "就业讲座")
@TableName("lecture")
public class Lecture implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("就业讲座")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty("标题")
    private String title;

    @ApiModelProperty("讲座时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date startTime;

    @ApiModelProperty("结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date endTime;

    @ApiModelProperty("报名截止时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date applyEndTime;

    @ApiModelProperty("举办地点")
    private String holdAddress;

    @ApiModelProperty("报名人数限制")
    private Integer applyNum;

    @ApiModelProperty("报名人数")
    @TableField(exist = false)
    private Integer applyAllNum;

    @ApiModelProperty("审核未通过人数")
    @TableField(exist = false)
    private Integer applyDenyNum;

    @ApiModelProperty("待审核数量")
    private Integer auditAwaitNum;

    @ApiModelProperty("取消报名人数")
    private Integer cancelNum;

    @ApiModelProperty("审核通过人数")
    private Integer auditApproveNum;

    @ApiModelProperty("是否报名直接通过 0否 1是")
    private Integer applyPass;

    @ApiModelProperty("正文")
    private String content;

    @ApiModelProperty("点击量")
    private Integer hits;

    @ApiModelProperty("报名按钮")
    @TableField(exist = false)
    private Integer btn;

    @ApiModelProperty("发布时间")
    private Date createTime;

    @ApiModelProperty("修改时间")
    private Date updateTime;

    @ApiModelProperty("逻辑删除")
    @TableLogic
    private Integer deleted;

    @ApiModelProperty("老数据id")
    private String oldId;

    @ApiModelProperty("二维码图片地址")
    private String qrUrl;

    @ApiModelProperty("学分")
    @TableField(exist = false)
    private BigDecimal credits;
}
